package com.secondmybatis.utils;

import io.jsonwebtoken.Claims;
import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.SignatureAlgorithm;


import java.util.Date;
import java.util.Map;

public class JwtUtils {
    // 自定义密钥
    private static String signKey = "wujiazhengwoshinidaye666666666666666666666666";
    // 过期时间
    private static Long expire = 43200000L;

    // 生成令牌token
    public static String JwtBuilder(Map<String, Object> claims) {
        String jwt = Jwts.builder().signWith(SignatureAlgorithm.HS256, signKey)
                .setClaims(claims)
                .setExpiration(new Date(System.currentTimeMillis() + expire))   //设置过期时间，什么时候令牌失效(2小时后失效)
                .compact();
        return jwt;
    }

    public static Claims parseJwt(String jwt) {
        Claims claimsJws = Jwts.parser().setSigningKey(signKey).parseClaimsJws(jwt).getBody();
        return claimsJws;
    }
}
